A file server is a network-connected processing system that stores and manages shared files in a set of mass storage devices, such as disk drives, on behalf of one or more clients. Filer servers are used in many different applications, such as in data backup and recovery applications. Disks within a file system may be organized as one or more groups of Redundant Array of Independent/Inexpensive Disks (RAID).
One configuration in which file servers can be used is a network attached storage (NAS) configuration. In a NAS configuration, a file server can be implemented in the form of an appliance that attaches to a network, such as a local area network (LAN), a corporate intranet, or the Internet. An example of such an appliance is any of the Filer products made by Network Appliance, Inc. in Sunnyvale, Calif.
Another specialized type of network is a storage area network (SAN). A SAN is a highly efficient network of interconnected, shared mass storage devices. Such devices are also made by Network Appliance, Inc. One difference between NAS and SAN is that in a SAN the head provides a remote host with block-level access to stored data, whereas in a NAS configuration, the head normally provides clients with file-level access to stored data.
In this context, a “head” means all of the electronics, firmware and/or software (the “intelligence”) that is used to control access to a set of mass storage devices; a head does not include the mass storage devices themselves. In a file server, the head normally is where all of the “intelligence” of the file server resides. Note that a “head” in this context is not the same as, and is not to be confused with, the magnetic or optical head that is used to physically read or write data from or to the mass storage medium.
A simple example of a storage network configuration is illustrated in FIG. 1. A filer (file server) “head” 2 is coupled locally to a set of mass storage devices 4, and to a set of clients 1 through an interconnect 3. The filer head 2 receives various read and write requests from the clients 1 and accesses the mass storage devices 4 to service those requests. Each of the clients 1 may be, for example, a conventional personal computer (PC), workstation, or the like. The mass storage devices 4 may be, for example, conventional magnetic tapes or disks, optical disks such as CD-ROM or DVD based storage, magneto-optical (MO) storage, or any other type of non-volatile storage devices suitable for storing large quantities of data. The filer head 2 can be configured and monitored from a management station 5, either via a direct coupling or via the network 3.
In a NAS implementation, the interconnect 3 may be essentially any type of computer network, such as a local area network (LAN), a wide area network (WAN), metropolitan area network (MAN) or the Internet, and may implement the Internet Protocol (IP). In a SAN implementation, the interconnect 3 may be a Fibre Channel (FC) switching fabric which implements the Fibre Channel Protocol (FCP). FCP is the encapsulation for Small Computer System Interface (SCSI) over FC.
A device which connects to other devices via FC transport, such as the head 2 in FIG. 1 for example, generally includes an FC host bus adapter (hereinafter “FC adapter”). The FC adapter has one or more FC ports, to which the physical FC transport medium is connected. In accordance with FCP, an FC port operates as either a “target” or an “initiator”. In the known prior art, whether a particular FC port operates as a target or an initiator is determined by the manufacturer of the FC adapter, at the factory. For example, at least one well-known FC adapter has a built-in nonvolatile random access memory (NVRAM), which stores a target/initiator mode flag that determines the adapter type. This flag is read during boot up to determine which driver gets attached to the port(s), to determine whether the port(s) of the FC adapter operate as target or initiator. However, this flag is set by the manufacturer and cannot be modified in the field.
In various situations, however, it would be desirable to have the ability to switch the role of an FC port from target to initiator or vice versa dynamically in the field. For example, certain Filers made by Network Appliance are capable of operating in a NAS mode or a SAN mode or both modes at the same time. In such a dual-use devices (also referred to as “unified” storage devices), it would be desirable to have the ability to dynamically change the operating mode of an FC port between target and initiator, to more fully take advantage of the versatility of the device.